package cn.tqfeiyang.smartadmin.system.entity;

import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

/**
 * 操作记录实体
 *
 * @author tqfeiyang
 * @since 2024-08-23
 */
@Data
@TableName("sys_operation_log")
public class OperationLogEntity {

    /**
     * 记录id
     */
    @TableId(value = "log_id", type = IdType.AUTO)
    private Long logId;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 用户类型
     */
    @TableField(value = "user_type")
    private Integer userType;

    /**
     * 用户名称
     */
    @TableField(value = "user_name")
    private String userName;

    /**
     * 操作模块
     */
    @TableField(value = "module")
    private String module;

    /**
     * 操作内容
     */
    @TableField(value = "content")
    private String content;

    /**
     * 请求路径
     */
    @TableField(value = "url")
    private String url;

    /**
     * 请求方法
     */
    @TableField(value = "method")
    private String method;

    /**
     * 请求参数
     */
    @TableField(value = "param")
    private String param;

    /**
     * 请求ip
     */
    @TableField(value = "ip")
    private String ip;

    /**
     * 请求ip地区
     */
    @TableField(value = "ip_region")
    private String ipRegion;

    /**
     * 请求user-agent
     */
    @TableField(value = "user_agent")
    private String userAgent;

    /**
     * 请求结果 0失败 1成功
     */
    @TableField(value = "success_flag")
    private Boolean successFlag;

    /**
     * 失败原因
     */
    @TableField(value = "fail_reason")
    private String failReason;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

}